package com.ruoyi.archive.domain;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 军队转业干部信息对象 s_transferred_cadres
 *
 * @author Allen
 * @date 2021-09-28
 */
@Data
public class STransferredCadres implements Serializable {

    /** $column.columnComment */
    private Long id;

    /** 关联soldier_base_info */
    private Long soldierId;

    /** 入伍时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入伍时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date enlistedDate;

    /** 退役时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退役时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retirementDate;

    /** 军龄 自动生成：退役时间-入伍时间往上取整 */
    private Long militaryAge;

    /**
     * 原部队代号
     * 只填写代号，不填写番号（如师团营等）、单位名称，设置关键字，出现番号类的，不能填写。
     */
    @Excel(name = "原部队代号")
    private String originalUnitCode;

    /**
     * 指转业前职务（职级以最高职级为准，其他职级类别套用相对应的职级
     * 排职、副连职、连职、营职、副营职、正营职、副团职、正团职、副师职、正师职、十四级、十三级、十二级、十一级、十级、九级、八级、七级、六级、五级、四级、三级、办事员、二级科员、一级科员、副科级、正科级、副处级、副局级、正局级
     */
    private String originalRank;

    /** 转业证等其他有效退役证件（采集设备拍摄） */
    private String transferCertificate;

    /** 转业证件号码 */
    @Excel(name = "转业证件号码")
    private String transferCertificateCode;

    /**
     * 立功受奖情况
     * 1：八一勋章
     * 2：大军区以上荣誉称号
     * 3：一等功
     * 4：二等功
     * 5：三等功
     * 0：无
     */
    @Excel(name = "立功受奖情况")
    private String honour;

    /** 立功受奖证件 */
    private String honourCertificate;

    /** 安置日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安置日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrangeDate;

    /**
     * 安置方式
     * 1：计划分配；
     * 2：自主择业（与 arrange_date 关联，2001年1月19日以前的，不能选择）；
     * 3：自愿自行就业（选择此项的，arrange_unit 和arrange_unit_type 不填)；
     * 4：企业军转干部（与 arrange_date  关联，2000年12月31日以前的可以选择）
     */
    @Excel(name = "安置方式")
    private Long arrangeWay;

    /** 安置地 省市县/区 */
    private String arrangePlace;

    /** 安置单位名称 */
    @Excel(name = "安置单位名称")
    private String arrangeUnit;

    /**
     * 安置单位性质
     * 1：行政机关；
     * 2：事业单位；
     * 3：企业；
     * 4：其他
     */
    @Excel(name = "安置单位性质")
    private Long arrangeUnitType;

    /**
     * 现就业状况
     * 1：在职
     * 2：下岗
     * 3：失业
     * 4：无业
     * 5：离休
     * 6：退休
     * 7：创业
     */
    @Excel(name = "现就业状况")
    private Long employmentSituation;

    @TableField(exist = false)
    private String soldierName;

    @TableField(exist = false)
    private String idCard;
}
